制作兼容 xp 的 exe
由于医院部分设备限制,我们需要兼容 xp 系统。
那么我们有两个方案:
方案一:使用 chrome 浏览器
chrome 能兼容 xp 的版本在 50 以下,但是经过我虚拟机安装测试发现 46 能正常运行。
然后在属性中设置--kiosk 就能全屏显示
如果是 https 的网址,由于 xp 没有最新的证书,所以会提示不安全,可以加上
--ignore-certificate-errors
"C:\Documents and Settings\cf\Local Settings\Application Data\Chromium\Application\chrome.exe" --ignore-certificate-errors --kiosk https://my-network.com
方案二:使用 nwjs 打包
如果需要兼容到 xp,则只能使用 0.14.7 版本,官方下载地址在这里,不过淘宝镜像下载更快些。
注:nwjs-sdk-v0.14.7-win-ia32.zip 才能打开控制台调试
所以打包使用nwjs-v0.14.7-win-ia32
,开发使用nwjs-sdk-v0.14.7-win-ia32.zip
如果只是配置网址,那么只需要解压后 package.json,修改 main 为网址,然后打包即可。
打包软件有用Enigma Virtual Box
和 FilePacker
的,FilePacker 我试了下不是很好用。我推荐 Inno setup, xp 兼容的最高版本为 5.5.9, 下载地址在这里。
然后在 xp 内打包即可,详细教程见 这里
这个打包有一个问题,就是如果打包目录里有文件夹,则需要修改打包配置文件,如下
否则会这个错误
1. Inno setup 配置中文
Inno setup 默认是使用的英文,官网上也有非正式的中文文件下载,地址在这里
把它复制到 txt 中,然后修改文件名为ChineseSimplified.isl
存到 Inno setup 目录的languages
中
然后完成设置脚本引导 👇 疯狂下一步就行
完成后就出现了 👇
在安装配置文件 iss 修改 languages ,就可以了
好了之后保存-->随便取个名字
注:这样配置后,在选择语言那一块还是会乱码,修改前面下载的中文文件ChineseSimplified.isl
就好了
2. 配置开机自启
有两种方式,一种是不修改注册表,避免了杀毒软件提示,其实就是将快捷方式添加到“启动”文件夹。
\[Tasks\]Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 0,6.1\[Icons\]Name: "{commonstartup}\\{#MyAppName}"; Filename: "{app}\\{#MyAppExeName}"; Tasks: startupicon
另一种是修改注册表
\[Registry\] Root: HKLM; Subkey: "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; ValueType: string; ValueName: "testrun"; ValueData: "{app}\\{#MyAppExeName}"
3.修改图标
修改安装文件的图标,只需要在 Inno setup 向导里导入就可以了
修改底部任务栏显示的图标,在package.json
中修改即可
但是这个不能修改到桌面图标,这个时候我们需要使用Resource Hacker
来修改,下载地址在这里
我们需要先将图片转为 ico 文件,这个可以使用在线制作 favicon 工具
然后使用Resource Hacker
打开 nw.exe,
替换后保存即可
xp 内的局限性
xp 内语音播报只有英文,无法进行中文的播报
es6 语法支持比较差,需要使用 webpack 打包后使用
** 另外需要在 xp 环境测试需要虚拟机,我后面会再出一个虚拟机相关的文章